package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

func main() {
	fileObj, err := os.Open("demo.txt")
	if err != nil {
		fmt.Println("文件打开失败：", err)
		return
	}
	defer fileObj.Close()
	//一个文件对象本身是实现了io.Reader的 使用bufio.NewReader去初始化一个Reader对象，存在buffer中的，读取一次就会被清空
	reader := bufio.NewReader(fileObj)
	buf := make([]byte, 1024)
	//读取 Reader 对象中的内容到 []byte 类型的 buf 中
	info, err := reader.Read(buf)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println("读取的字节数:" + strconv.Itoa(info))
	//这里的buf是一个[]byte，因此如果需要只输出内容，仍然需要将文件内容的换行符替换掉
	fmt.Println("读取的文件内容:", string(buf))
}